﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using ECOSYSTEM_BL;
using ECOSYSTEM_Dominio;

namespace ECOSYSTEMPRESENTACION
{
    public partial class frmPrincipal : Form, Interfaz
    {
        public frmPrincipal()
        {
            InitializeComponent();
        }
        TemporalBL elTemporalBL = new TemporalBL();
        public void CargarDatosCliente(string Nombre, string Ruc, string Direccion)
        {
            throw new NotImplementedException();
        }

        public void CargardatosProducto(string NomProd, string Cantidad, string PrecioVenta, string CodProd)
        {
            throw new NotImplementedException();
        }

        public void ActivarMenu(bool Opcion)
        {
            mstMain.Enabled = Opcion;
        }
        private void CompararFecha() {
            String Fec = elTemporalBL.ObtenerFecha();
            String FecActual = DateTime.Now.ToShortDateString();
            if (Fec != FecActual)
            {
                frmTCambioIGV formIGV = new frmTCambioIGV();
                formIGV.MdiParent = this;
                formIGV.Manipular = this;
                formIGV.Show();
            }
            else
                mstMain.Enabled = true;
        }
        //--> EVENTOS <--


        private void frmPrincipal_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (MessageBox.Show("ESTA SEGURO DE SALIR DEL SISTEMA", "SALIR", MessageBoxButtons.OKCancel, MessageBoxIcon.Information) == DialogResult.OK)
            {
                Application.ExitThread();
            }
            else { e.Cancel = true; }
        }

        private void salirToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("ESTA SEGURO DE SALIR DEL SISTEMA", "SALIR", MessageBoxButtons.OKCancel, MessageBoxIcon.Information) == DialogResult.OK)
            {
                Application.Exit();
            }
        }

        private void productosToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (this.Controls.Find("frmProducto", true).Length == 0)
            {
                frmProducto formProducto = new frmProducto();
                formProducto.MdiParent = this;
                formProducto.Show();
            }
            else
                MessageBox.Show("Ya se encuentra abierto la ventana");
        }

        private void precioToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (this.Controls.Find("frmConsultarPrecio", true).Length == 0)
            {
                frmConsultarPrecio formConsulPrecio = new frmConsultarPrecio();
                formConsulPrecio.MdiParent = this;
                formConsulPrecio.Show();
            }
            else
                MessageBox.Show("Ya se encuentra abierto la ventana");
        }

        private void regCompraToolStripMenuItem_Click(object sender, EventArgs e)
        {

        }
        private void areaToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (this.Controls.Find("frmArea", true).Length == 0)
            {
                frmArea formArea = new frmArea();
                formArea.MdiParent = this;
                formArea.Show();
            }
            else
                MessageBox.Show("Ya se encuentra abierto la ventana");
        }

        private void cargoToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (this.Controls.Find("frmCargo", true).Length == 0)
            {
                frmCargo formCargo = new frmCargo();
                formCargo.MdiParent = this;
                formCargo.Show();
            }
            else
                MessageBox.Show("Ya se encuentra abierto la ventana");
        }

        private void subLineaToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (this.Controls.Find("frmSubLinea", true).Length == 0)
            {
                frmSubLinea formSubLinea = new frmSubLinea();
                formSubLinea.MdiParent = this;
                formSubLinea.Show();
            }
            else
                MessageBox.Show("Ya se encuentra abierto la ventana");
        }

        private void marcaToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (this.Controls.Find("frmMarca", true).Length == 0)
            {
                frmMarca formMarca = new frmMarca();
                formMarca.MdiParent = this;
                formMarca.Show();
            }
            else
                MessageBox.Show("Ya se encuentra abierto la ventana");
        }

        private void clienteToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (this.Controls.Find("frmCliente", true).Length == 0)
            {
                frmCliente formCliente = new frmCliente();
                formCliente.MdiParent = this;
                formCliente.Show();
            }
            else
                MessageBox.Show("Ya se encuentra abierto la ventana");
        }
        private void transportistaToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (this.Controls.Find("frmTransportista", true).Length == 0)
            {
                frmTransportista formTranspor = new frmTransportista();
                formTranspor.MdiParent = this;
                formTranspor.Show();
            }
            else
                MessageBox.Show("Ya se encuentra abierto la ventana");
        }

        private void empleadoToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (this.Controls.Find("frmEmpleado", true).Length == 0)
            {
                frmEmpleado formEmpleado = new frmEmpleado();
                formEmpleado.MdiParent = this;
                formEmpleado.Show();
            }
            else
                MessageBox.Show("Ya se encuentra abierto la ventana");
        }

        private void usuarioToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (this.Controls.Find("frmUsuario", true).Length == 0)
            {
                frmUsuario formUsuario = new frmUsuario();
                formUsuario.MdiParent = this;
                formUsuario.Show();
            }
            else
                MessageBox.Show("Ya se encuentra abierto la ventana");
        }
        private void ordenCompraToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (this.Controls.Find("frmOrdenCompra", true).Length == 0)
            {
                frmOrdenCompra formOrdenCompra = new frmOrdenCompra();
                formOrdenCompra.MdiParent = this;
                formOrdenCompra.Show();
            }
            else
                MessageBox.Show("Ya se encuentra abierto la ventana");
        }

        private void regProveedorToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (this.Controls.Find("frmProvedor", true).Length == 0)
            {
                frmProvedor formProvedor = new frmProvedor();
                formProvedor.MdiParent = this;
                formProvedor.Show();
            }
            else
                MessageBox.Show("Ya se encuentra abierto la ventana");
        }

        private void regCuentasToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (this.Controls.Find("frmCuentaBanco", true).Length == 0)
            {
                frmCuentaBanco formCuenta = new frmCuentaBanco();
                formCuenta.MdiParent = this;
                formCuenta.Show();
            }
            else
                MessageBox.Show("Ya se encuentra abierto la ventana");
        }

        private void facturaToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (Application.OpenForms["frmFactura"]== null && Application.OpenForms["frmBoleta"]==null && Application.OpenForms["frmProforma"]== null)
            {
                frmFactura formFactura = new frmFactura();
                formFactura.MdiParent = this;
                formFactura.Show();
            }
            else
                MessageBox.Show("Tiene Activa otra Ventana");
        }

        private void boletaToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (Application.OpenForms["frmFactura"] == null && Application.OpenForms["frmBoleta"] == null && Application.OpenForms["frmProforma"] == null)
            {
                frmBoleta formBoleta = new frmBoleta();
                formBoleta.MdiParent = this;
                formBoleta.Show();
            }
            else
                MessageBox.Show("Tiene Activa otra Ventana");
        }


        private void proformaToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (Application.OpenForms["frmFactura"] == null && Application.OpenForms["frmBoleta"] == null && Application.OpenForms["frmProforma"] == null)
            {
                frmProforma formProforma = new frmProforma();
                formProforma.MdiParent = this;
                formProforma.Show();
            }
            else
                MessageBox.Show("Tiene Activa otra Ventana");
        }

        private void regServicioToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (this.Controls.Find("frmServicio", true).Length == 0)
            {
                frmServicio formServ = new frmServicio();
                formServ.MdiParent = this;
                formServ.Show();
            }
            else
                MessageBox.Show("Ya se encuentra abierto la ventana");
        }

        private void cambiarContraseñaToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (this.Controls.Find("frmUpdateUsuario", true).Length == 0)
            {
                frmUpdateUsuario formUpdateUsuario = new frmUpdateUsuario();
                formUpdateUsuario.MdiParent = this;
                formUpdateUsuario.Show();
            }
            else
                MessageBox.Show("Ya se encuentra abierto la ventana");
        }

        private void guiasDeRemisionToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (this.Controls.Find("frmBuscarGuia", true).Length == 0)
            {
                frmBuscarGuia formGuiaR = new frmBuscarGuia();
                formGuiaR.MdiParent = this;
                formGuiaR.Show();
            }
            else
                MessageBox.Show("Ya se encuentra abierto la ventana");
        }
        private void vendedorProvedorToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (this.Controls.Find("frmVendedorProv", true).Length == 0)
            {
                frmVendedorProv formVended = new frmVendedorProv();
                formVended.MdiParent = this;
                formVended.Show();
            }
            else
                MessageBox.Show("Ya se encuentra abierto la ventana");
        }

        private void ingresosToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (this.Controls.Find("frmReciboIngreso", true).Length == 0)
            {
                frmReciboIngreso formIngreso = new frmReciboIngreso();
                formIngreso.MdiParent = this;
                formIngreso.Show();
            }
            else
                MessageBox.Show("Ya se encuentra abierto la ventana");
        }

        private void egresosToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (this.Controls.Find("frmReciboEgreso", true).Length == 0)
            {
                frmReciboEgreso formEgreso = new frmReciboEgreso();
                formEgreso.MdiParent = this;
                formEgreso.Show();
            }
            else
                MessageBox.Show("Ya se encuentra abierto la ventana");
        }

        private void consultarPrecioToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (this.Controls.Find("frmConsultarPrecio", true).Length == 0)
            {
                frmConsultarPrecio formPrecio = new frmConsultarPrecio();
                formPrecio.MdiParent = this;
                formPrecio.Show();
            }
            else
                MessageBox.Show("Ya se encuentra abierto la ventana");
        }

        private void cuentasCobrarToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (this.Controls.Find("frmCuentasCobrar", true).Length == 0)
            {
                frmCuentasCobrar formCuenCorar = new frmCuentasCobrar();
                formCuenCorar.MdiParent = this;
                formCuenCorar.Show();
            }
            else
                MessageBox.Show("Ya se encuentra abierto la ventana");
        }

        private void ventasDíaToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (this.Controls.Find("frmReporteVenta", true).Length == 0)
            {
                frmReporteVenta formVenta = new frmReporteVenta();
                formVenta.MdiParent = this;
                formVenta.Show();
            }
            else
                MessageBox.Show("Ya se encuentra abierto la ventana");
        }

        private void facturacionesToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (this.Controls.Find("frmEmisionComprobante", true).Length == 0)
            {
                frmEmisionComprobante formEmiCompro = new frmEmisionComprobante();
                formEmiCompro.MdiParent = this;
                formEmiCompro.Show();
            }
            else
                MessageBox.Show("Ya se encuentra abierto la ventana");
        }

        private void pendientesToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (this.Controls.Find("frmCompraPendiente", true).Length == 0)
            {
                frmCompraPendiente formCompPend = new frmCompraPendiente();
                formCompPend.MdiParent = this;
                formCompPend.Show();
            }
            else
                MessageBox.Show("Ya se encuentra abierto la ventana");
        }

        private void historialToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (this.Controls.Find("frmBuscarRegCompra", true).Length == 0)
            {
                frmBuscarRegCompra formCompra = new frmBuscarRegCompra();
                formCompra.MdiParent = this;
                formCompra.Text = "HISTORIAL DE COMPRAS";
                formCompra.Show();
            }
            else
                MessageBox.Show("Ya se encuentra abierto la ventana");
        }

        private void TCambioIGVToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (this.Controls.Find("frmTCambioIGV", true).Length == 0)
            {
                frmTCambioIGV formTcambioIGV = new frmTCambioIGV();
                formTcambioIGV.MdiParent = this;
                formTcambioIGV.lblActualizando.Text = "Actualizando";
                formTcambioIGV.Show();
            }
            else
                MessageBox.Show("Ya se encuentra abierto la ventana");
        }

        private void frmPrincipal_Load(object sender, EventArgs e)
        {
            try
            {
                DateTime hora = DateTime.Now;
                lblhora.Text = hora.ToLocalTime().ToLongDateString().ToString();
                CompararFecha();
            }
            catch (Exception ex) { MessageBox.Show(ex.Message); }
        }

        private void darAGarantiaToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (this.Controls.Find("frmGarantia", true).Length == 0)
            {
                frmGarantia formGaranti = new frmGarantia();
                formGaranti.MdiParent = this;
                formGaranti.Show();
            }
            else
                MessageBox.Show("Ya se encuentra abierto la ventana");
        }

        private void mantenimientoToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (Application.OpenForms["frmMantenimientoAlmacen"]== null)
            {
                frmMantenimientoAlmacen formMantenimiento = new frmMantenimientoAlmacen();
                formMantenimiento.MdiParent = this;
                formMantenimiento.Show();
            }
            else
                MessageBox.Show("Ya se encuentra abierto la ventana");
        }

        private void comprasRegToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (Application.OpenForms["frmRegistrarCompra"] == null && Application.OpenForms["frmBuscarRegCompra"]== null)
            {
                frmBuscarRegCompra formBusCompra = new frmBuscarRegCompra();                
                formBusCompra.MdiParent = this;                
                formBusCompra.Show();
            }
            else { MessageBox.Show("Tiene un Formulario abierto\n Cierre primero y vuelva a intentarlo"); }
        }

        private void regCompraToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            if (Application.OpenForms["frmRegistrarCompra"] == null)
            {
                frmRegistrarCompra formRegCompra = new frmRegistrarCompra();
                formRegCompra.MdiParent = this;
                formRegCompra.Show();
            }
            else { MessageBox.Show("La Ventana ya se encuentra ABIERTA"); }
        }

        private void facturasEmitidasToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (Application.OpenForms["frmBuscarFactura"] == null)
            {
                frmBuscarFactura formBusFac = new  frmBuscarFactura();
                formBusFac.MdiParent = this;
                formBusFac.Show();
            }
            else { MessageBox.Show("La Ventana ya se encuentra ABIERTA"); }
        }

        private void boletasEmitidasToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (Application.OpenForms["frmBuscarBoleta"] == null)
            {
                frmBuscarBoleta formBusBol = new frmBuscarBoleta();
                formBusBol.MdiParent = this;
                formBusBol.Show();
            }
            else { MessageBox.Show("La Ventana ya se encuentra ABIERTA"); }
        }

        private void proformasEmitidasToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (Application.OpenForms["frmBuscarProforma"] == null)
            {
                frmBuscarProforma formBusProf = new frmBuscarProforma();
                formBusProf.MdiParent = this;
                formBusProf.Show();
            }
            else { MessageBox.Show("La Ventana ya se encuentra ABIERTA"); }
        }        
    }
}
